Formal Modeling of Software Architectures at Multiple Levels of Abstraction
نویسندگان
چکیده
Software architectures are multi-dimensional entities that can be fully understood only when viewed and analyzed at four different levels of abstraction: (1) internal functionality of a component, (2) the interface(s) exported by the component to the rest of the system, (3) interconnection of architectural elements in an architecture, and (4) rules of the architectural style. This paper presents the characteristics of each of the four levels of architectural abstraction, outlines the kinds of analyses that need to be performed at each level, and discusses the kinds of formal notations that are suitable at each level. We use the pipe-and-filter and Chiron-2 (C2) architectural styles as illustrations. In particular, we present formal models of C2 at the last three levels of abstraction as a first step in enabling a C2 design environment to perform the necessary analyses of architectures. We discuss the benefits of the formal definitions and our experience to date. 1 INTRODUCTION Software architectural styles, such as Unix's pipe-and-filter style or AI's blackboard architectures, are key design idioms [9][23]. Software development based on common architectural idioms has its focus shifted from lines-of-code to coarser-grained architectural elements (software components, connectors, etc.) and their overall interconnection structure. Development tools that operate on architectural specifications are as important as tools that work on individual components. In particular, architectural design environments [5][7] can provide a platform on which designers can construct an architectural model of a software system, have that model checked for syntactic and semantic correctness, receive domain-specific feedback about various design qualities, keep track of unfinished steps in the design process, and generate running programs for that system, while preserving the properties of the model [20].
منابع مشابه
An Architecture-Centric Approach towards the Construction of Dependable Automotive Software
In this paper a model-based design approach currently developed is introduced to optimize the development process of automotive software. The approach plays special emphasis on a quality-oriented construction of embedded software to shorten the development life cycle and the development costs at the same time. “Quality-oriented” in this context means, that design and implementation decisions ma...
متن کاملNeuro-ACT Cognitive Architecture Applications in Modeling Driver’s Steering Behavior in Turns
Cognitive Architectures (CAs) are the core of artificial cognitive systems. A CA is supposed to specify the human brain at a level of abstraction suitable for explaining how it achieves the functions of the mind. Over the years a number of distinct CAs have been proposed by different authors and their limitations and potentials were investigated. These CAs are usually classified as symbolic and...
متن کاملIntegrating deployment architectures and resource consumption in timed object-oriented models
a r t i c l e i n f o a b s t r a c t Software today is often developed for many deployment scenarios; the software may be adapted to sequential, concurrent, distributed, and even virtualized architectures. Since software performance can vary significantly depending on the target architecture, design decisions need to address which features to include and what performance to expect for differen...
متن کاملTowards Design Verification and Validation at Multiple Levels of Abstraction
The specification of software for distributed production control systems is an error prone task. The ISILEIT project aims at the development of a seamless methodology for the integrated design, analysis and validation of such embedded systems. Suitable subsets of UML and SDL for the design of such systems are therefore identified in a first step. The paper then focuses on how we use a series of...
متن کاملA Formal Model of Object Mobility in Resource-Restricted Deployment Scenarios
Software today is often developed for deployment on different architectures, ranging from sequential machines via multicore and distributed architectures to the cloud. In order to apply formal methods, models of such systems must be able to capture different deployment scenarios. For this purpose, it is desirable to express aspects of low-level deployment at the abstraction level of the modelin...
متن کامل